package com.imcode.setdemo;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
// TreeSet 判断元素是否在集合中，是调用放入的对象的compareTo方法和集合中其它对象比较大小
// 返回0，表示相等，不放入集合中
// 返回!0 放入集合，根据返回的值决定元素存储在树上的哪个节点
//java.lang.ClassCastException: com.imcode.setdemo.Order cannot be cast to java.lang.Comparable
public class TreeSetDemo02 {
    public static void main(String[] args) {
        //1.创建一个TreeSet集合的对象
        // 使用无参构造创建的TreeSet集合，只能存放实现了Comparable接口的类
        Set<Order> set = new TreeSet<>();

        set.add(new Order("201903190001"));
        set.add(new Order("201903190010"));
        set.add(new Order("201903190003"));
        set.add(new Order("201903190002"));

        //2.遍历集合中的所有订单
        Iterator<Order> it = set.iterator();//获取到迭代器
        while (it.hasNext()) {
            // 获取到集合中的一个订单
            Order order = it.next();
            // 打印订单编号
            System.out.println(order.getOrderNumber());
        }
    }
}
